package com.tbit.uqbike.service.business;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tbit.uqbike.object.pojo.Voice;
import com.tbit.uqbike.object.pojo.dto.VoiceDTO;
import com.tbit.uqbike.object.value.LoginInfo;
import com.tbit.common.entity.view.PageResult;
import com.tbit.common.entity.view.Result;
import org.springframework.web.multipart.MultipartFile;

/**
 * 自定义语音
 *
 * @author <a href="mailto:liu.haoxiang@tbit.com.cn">BUGXiang</a>
 * @version 1.0
 * @since 2024/3/14
 */
public interface VoiceService extends IService<Voice> {

    /**
     * 分页查询语音列表
     *
     * @param voiceDTO voiceDTO
     * @return Result<PageInfo < Voice>>
     */
    Result<PageResult<Voice>> queryPage(VoiceDTO voiceDTO);

    /**
     * 新增语音
     *
     * @param brandId   品牌id
     * @param accountId 区域id
     * @param voiceName 语音名称
     * @param delFlag   上架状态(0=上架 1=下架)
     * @param file      语音文件
     * @return result
     */
    Result<Object> add(Integer brandId, Integer accountId, String voiceName, Integer delFlag, MultipartFile file, LoginInfo login);

    /**
     * 修改语音
     *
     * @param id        id
     * @param brandId   品牌id
     * @param accountId 区域id
     * @param voiceName 语音名称
     * @param delFlag   上架状态(0=上架 1=下架)
     * @param file      语音文件
     * @return result
     */
    Result<Object> update(Integer id, Integer brandId, Integer voiceId, Integer accountId, String voiceName, Integer delFlag, MultipartFile file);

    /**
     * 删除语音
     *
     * @param id id
     */
    Result<Object> deleteId(Integer id);
}
